﻿#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
	QMainWindow(parent),
	ui(new Ui::MainWindow)
{
	ui->setupUi(this);
	setFixedSize(1000, 800);

	//widgetGameArea 和 widgetNextArea 已在界面设计器内由普通QWidget分别提升成GameArea和NextArea
	//GameArea: 左侧游戏区域，自绘widget
	//NextArea: 右侧显示下个item的widget，也是自绘widget
    //游戏主运行逻辑在GameArea内
	//GameArea通过信号sigUpdateScore、sigUpdateLevel 通知MainWindow更新界面的得分和关卡
	//GameArea通过信号sigUpdateNextItem 通知 NextArea 刷新下一个元素
	connect(ui->widgetGameArea, &GameArea::sigUpdateScore, this, &MainWindow::slotUpdateScore);
	connect(ui->widgetGameArea, &GameArea::sigUpdateLevel, this, &MainWindow::slotUpdateLevel);
	connect(ui->widgetGameArea, &GameArea::sigUpdateNextItem, ui->widgetNextArea, &NextArea::slotUpdateNextItem);

	ui->widgetGameArea->NewGame();
}

MainWindow::~MainWindow()
{
	delete ui;
}

void MainWindow::slotUpdateScore(int nScore)
{
	ui->labelScore->setText(QString::number(nScore));
}

void MainWindow::slotUpdateLevel(int nSpeed)
{
	ui->labelSpeed->setText(QString::number(nSpeed));
}
